package com.wie.staffhubpro.service;

import com.wie.staffhubpro.domain.dto.LeavaApplicationDTO;
import com.wie.staffhubpro.domain.dto.PermitLeaveAppDTO;
import com.wie.staffhubpro.domain.dto.SearchLeaveAppDTO;
import com.wie.staffhubpro.domain.entity.LeaveApplication;
import com.baomidou.mybatisplus.extension.service.IService;
import com.wie.staffhubpro.domain.vo.LeaveApplicationVO;

import java.util.List;

/**
* @author WiedersehenM
* @description 针对表【leave_application】的数据库操作Service
* @createDate 2025-06-30 22:48:36
*/
public interface LeaveApplicationService extends IService<LeaveApplication> {

    /**
     * 提交请假申请
     */
    void submit(LeavaApplicationDTO leavaApplicationDTO);

    /**
     * 查询个人请假信息
     */
    List<LeaveApplication> getByEmpId(SearchLeaveAppDTO searchLeaveAppDTO);

    /**
     * 查询部门请假信息
     */
    List<LeaveApplication> getByDeptId(SearchLeaveAppDTO searchLeaveAppDTO);

    /**
     * 审批请假申请
     */
    void permit(PermitLeaveAppDTO permitLeaveAppDTO);
}
